<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>docsify-note在线笔记</title>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <meta name="description" content="Description">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0">
  <meta name="renderer" content="webkit">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css">
  <link rel="stylesheet" href="static/css/ext.css">
  <!-- 让IE8/9支持媒体查询，从而兼容栅格 -->
  <!--[if lt IE 9]>
    <script src="https://gcore.staticfile.org/html5shiv/r29/html5.min.js"></script>
    <script src="https://gcore.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
  <![endif]-->
  <link rel="apple-touch-icon" sizes="180x180" href="static/icon/apple-touch-icon.png">
  <link rel="icon" type="image/png" sizes="32x32" href="static/icon/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="16x16" href="static/icon/favicon-16x16.png">
  <link rel="manifest" href="static/icon/site.webmanifest">
</head>
<body>
  <div id="app"></div>
  
  <script>
    window.$docsify = {
      name: 'docsify-note在线笔记<span class="mg-badge">1.1.1</span>',
      repo: 'https://gitee.com/mgang/docsify-note.git',
      coverpage: false,
      loadNavbar: true,
      loadSidebar: true,
      autoHeader: true,
      onlyCover: false,
      routerMode: 'hash',
      subMaxLevel: 5,
      //basePath: 'http://mg.meiflower.top/',
      sidebarDisplayLevel: 5, // set sidebar display level
      // plantuml: {
      //   skin: 'default'
      // },
      count:{
        countable:true,
        fontsize:'0.9em',
        color:'rgb(90,90,90)',
        language:'chinese'
      },
      search: 'auto',
      copyCode: {
        buttonText : '点击复制',
        errorText  : '错误',
        successText: '复制成功'
      },
      footer: {
        copy: '<span>mango mei &copy; 2023</span>',
        auth: '粤ICP备17082965号',
        pre: '',
        style: 'text-align: center;',
        class: 'className'
      },
      vueComponents: {
        'card-link': {
          template: `
            <a :href="href" target="_blank">
              {{title}}
            </a>
          `,
          props:["id","title"],
          computed: {
            href(){
              return "https://mg.meiflower.top/cardview/index.html?id="+this.id;
            }
          },
          data() {
            return {
              
            }
          }
        },
        'card-area': {
          template: `
           <div>
            <iframe  :src="href" :style="{width:cardWidth,height:cardHeight}"></iframe>
           </div>
          `,
          props:["id","height","width"],
          computed: {
            theId(){
              return "card_" + this.id;
            },
            href(){
              return "https://mg.meiflower.top/cardview/index.html?id="+this.id;
            },
            cardHeight(){
              var result = "400px";
              if(this.height){
                result = this.height;
              }
              return result;
            },
            cardWidth(){
              var result = "100%";
              if(this.width){
                result = this.width;
              }
              return result;
            }
          },
          created() {
            
          },
          data() {
            return {
              
            }
          }
        },
        'card-area-list': {
          template: `
           <div>
            <iframe v-for="href in hrefs" :src="href" :style="{width:cardWidth,height:cardHeight,float:'left',marginRight:'5px'}"></iframe>
           </div>
          `,
          props:["ids","height","width"],
          computed: {
            hrefs(){
              var list = [];
              var arr = this.ids.split(",");
              for(var index in arr){
                list.push("http://mg.meiflower.top/cardview/index.html?id="+arr[index]);
              }
              return list;
            },
            cardHeight(){
              var result = "400px";
              if(this.height){
                result = this.height;
              }
              return result;
            },
            cardWidth(){
              var result = "100%";
              if(this.width){
                result = this.width;
              }
              return result;
            }
          },
          created() {
            
          },
          data() {
            return {
              
            }
          }
        }
      },
      timeUpdater: {
        text: "<div align='right' width='100%' style='color:gray;font-size:16px;margin-top:10px;'>最后更新时间: {docsify-updated}</div>",
        formatUpdated: "{YYYY}-{MM}-{DD} {HH}:{mm}",
      },
      // note tip warning attention https://github.com/fzankl/docsify-plugin-flexible-alerts
      'flexible-alerts': {
        style: 'callout'
      },
      progress: {
          position: "top",
          color: "var(--theme-color,#42b983)",
          height: "3px",
      },
      tabs: {
        persist    : true,      // default
        sync       : true,      // default
        theme      : 'classic', // default
        tabComments: true,      // default
        tabHeadings: true       // default
      },
      docsifyBackTop: {
        size: 32,           	// 数值，组件大小，默认值32。
        bottom: 15,         	// 数值，组件底部偏移距离，默认值15。
        right: 15,          	// 数值，组件右侧偏移距离，默认值15。
        logo: 'top',				// logo:字符串或svg矢量图代码，默认为svg代码图标。
        bgColor: '#42b983'    	// 背景颜色，#fff、pink等，logo为svg图标时，不填。
      },
      // docsify-plugin-toc
      toc: {
        tocMaxLevel: 5,
        target: 'h2, h3, h4, h5, h6',
        ignoreHeaders:  ['<!-- {docsify-ignore} -->', '<!-- {docsify-ignore-all} -->']
      },
      // 百度统计ID
      baiduTjId: "e91bd7214bcbfc0ddd4c8f9e60453d7f",
      // 开启busuanzi
      busuanzi: true,
      // docsify ads 配置广告
      ads: [
        {
          img: 'https://dn-lego-static.qbox.me/cps/1638355965-480x300.jpg',
          href: 'https://s.qiniu.com/zqiMBz'
        },
        {
          img: 'https://dn-lego-static.qbox.me/cps/1638355965-480x300.jpg',
          href: 'https://s.qiniu.com/VJFJvi'
        },
        {
          img: 'https://dn-lego-static.qbox.me/cps/1638355799-480300.jpg',
          href: 'https://s.qiniu.com/7nM3uy'
        },
        {
          img: 'https://dn-lego-static.qbox.me/cps/1638268412-480x300.jpg',
          href: 'https://s.qiniu.com/VZvaii'
        },
        {
          img: 'https://dn-lego-static.qbox.me/cps/1638268217-480x300.jpg',
          href: 'https://s.qiniu.com/nMnaQj'
        },
        {
          img: 'https://dn-lego-static.qbox.me/cps/1638267917-480x300.jpg',
          href: 'https://s.qiniu.com/aqAneu'
        },
        // 腾讯云 
        {
          img: 'https://upload-dianshi-1255598498.file.myqcloud.com/upload/nodir/345X200-9ae456f58874df499adf7c331c02cb0fed12b81d.jpg',
          href: 'https://url.cn/00DqsRrc'
        },
        {
          img: 'https://dscache.tencent-cloud.cn/upload//345-200-78bcc66c42d6998810cebb6eb4158bcce824f9b1.jpg',
          href: 'https://url.cn/DjhfFECm'
        },
        {
          img: 'https://upload-dianshi-1255598498.file.myqcloud.com/345_200-665434f41e982c3b542694850e5ea1cd9ae0b49b.png',
          href: 'https://url.cn/ufa6Vl2B'
        },
        {
          img: 'https://upload-dianshi-1255598498.file.myqcloud.com/345x200--2953d058277cb63c6b1cd127285163335cd6751e.jpg',
          href: 'https://url.cn/JBdlnq0N'
        },
        {
          img: 'https://upload-dianshi-1255598498.file.myqcloud.com/%E8%85%BE%E8%AE%AF%E4%BA%913_345%20200_1-7aeb8eb451fd6de33676444898914b1ff3298996.jpg',
          href: 'https://url.cn/m0TwE0AC'
        },
        {
          img: 'https://upload-dianshi-1255598498.file.myqcloud.com/345x200-89eeba55a2f49008e686e1a51e14bfe79f63af13.png',
          href: 'https://url.cn/mpZn2VBe'
        },
        {
          img: 'https://upload-dianshi-1255598498.file.myqcloud.com/345-200-b28f7dee9552f4241ea6a543f15a9798049701d4.jpg',
          href: 'https://url.cn/KM23RG9M'
        },
      ],
      // 开启远程md
      remoteMarkdown: {
        tag: 'rmd',
      },
      // giscus评论
      // giscus:{
      //   repo: "mg0324/docsify-comments",
      //   repoId: "R_kgDOI68LwA",
      //   category: "Announcements",
      //   categoryId: "DIC_kwDOI68LwM4CUDhM",
      //   mapping: "url",
      //   reactionsEnabled: "true",
      //   strict: "1",
      //   emitMetadata: "0",
      //   inputPosition: "bottom",
      //   theme: "light",
      //   lang: "zh-CN",
      //   loading: "lazy"
      // },
      // valine评论
      valine:{
          appId: 'OclxQh48RGqlZ7OAmqfCXjqu-gzGzoHsz',
          appKey: 'BZdD1MxORUSdktnY8A7eRjv2',
      },
      markdown: {
        renderer: {
          code: function (code, lang) {
            if (lang === 'drawio') {
              if (window.drawioConverter) {
                console.log('drawio 转化中')
                return window.drawioConverter(code)
              } else {
                return `<div class='drawio-code'>${code}</div>`
              }
            } else if(lang === 'pdf'){
              var pdf_renderer = function(code, lang, verify) {
                  function unique_id_generator(){
                      function rand_gen(){
                          return Math.floor((Math.random()+1) * 65536).toString(16).substring(1);
                      }
                      return rand_gen() + rand_gen() + '-' + rand_gen() + '-' + rand_gen() + '-' + rand_gen() + '-' + rand_gen() + rand_gen() + rand_gen();
                  }
                  if(lang && !lang.localeCompare('pdf', 'en', {sensitivity: 'base'})){
                      if(verify){
                          return true;
                      }else{
                          var divId = "markdown_code_pdf_container_" + unique_id_generator().toString();
                          var container_list = new Array();
                          if(localStorage.getItem('pdf_container_list')){
                              container_list = JSON.parse(localStorage.getItem('pdf_container_list'));	
                          }
                          container_list.push({"pdf_location": code, "div_id": divId});
                          localStorage.setItem('pdf_container_list', JSON.stringify(container_list));
                          return (
                              '<div style="margin-top:'+ PDF_MARGIN_TOP +'; margin-bottom:'+ PDF_MARGIN_BOTTOM +';" id="'+ divId +'">'
                                  + '<a href="'+ code + '"> Link </a> to ' + code +
                              '</div>'
                          );
                      } 
                  }
                  return false;
              }
              if(pdf_renderer(code, lang, true)){
                return pdf_renderer(code, lang, false);
              }
            } 
            else {
              return this.origin.code.apply(this, arguments);
            }
          }
        }
      },
      contributors: {
        repo: 'mg0324/docsify-note',
        ignores: [],
        style: {
            color: '#ffffff',
            bgColor: '#404040'
        },
        image: {
            size: 30,
            isRound: true,
            margin: '0.5em'
        },
        load: {
            isOpen: true,
            color: "#009999"
        }
      }
      //gitalk评论
      // gitalk: {
      //   clientID: 'a80e57a9ad7a92dd2c8d',
      //   clientSecret: 'c38424e2af55c1549f52de1564eb71b4a94c10ea',
      //   repo: 'docsify-note-02',
      //   owner: 'mg0324',
      //   admin: ['mg0324']
      // },
      // plugins: [
      //   function(hook, vm) {
      //     hook.init(function() {
      //       // 初始化完成后调用，只调用一次，没有参数。
      //       console.info("init!")
            
      //     });

      //     hook.beforeEach(function(content) {
      //       // 每次开始解析 Markdown 内容时调用
      //       // ...
      //       console.info("beforeEach!")
            
      //       return content;
      //     });

      //     hook.afterEach(function(html, next) {
      //       // 解析成 html 后调用。
      //       // beforeEach 和 afterEach 支持处理异步逻辑
      //       // ...
      //       // 异步处理完成后调用 next(html) 返回结果
      //       console.info("afterEach!")
      //       console.info(html)
      //       html += `<div id="vcomments"></div>`;
      //       next(html);
      //     });

      //     hook.doneEach(function() {
      //       // 每次路由切换时数据全部加载完成后调用，没有参数。
      //       // ...
      //       console.info("doneEach!")
      //       new Valine({
      //           el: '#vcomments',
      //           appId: 'OclxQh48RGqlZ7OAmqfCXjqu-gzGzoHsz',
      //           appKey: 'BZdD1MxORUSdktnY8A7eRjv2',
      //           path: window.document.title
      //       })
      //     });

      //     hook.mounted(function() {
      //       // 初始化并第一次加载完成数据后调用，只触发一次，没有参数。
      //       console.info("mounted!")
            
      //     });

      //     hook.ready(function() {
      //       // 初始化并第一次加载完成数据后调用，没有参数。
      //       console.info("ready!")
      //     });
      //   }
      // ]
    }
    
  </script>
  <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.min.js"></script>
  <!-- Docsify v4 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify@4.13.0/lib/docsify.js"></script>
  <!-- 搜索 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
  <!-- 图片放大缩小支持 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/zoom-image.min.js"></script>
  <!-- 拷贝文字内容 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-copy-code/dist/docsify-copy-code.min.js"></script>
  <!-- 字数插件 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-count@latest/dist/countable.min.js"></script>
  <!-- 分页导航 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-pagination/dist/docsify-pagination.min.js"></script>
  <!-- 侧边栏扩展与折叠 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-sidebar-collapse/dist/docsify-sidebar-collapse.min.js"></script>
  <!-- valine -->
  <script src="https://cdn.jsdelivr.net/npm/valine/dist/Valine.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/docsify-mango-valine@1.1.1/dist/docsify-mango-valine.min.js"></script>
  <!-- busuanzi -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-busuanzi@1.0.1/dist/docsify-busuanzi.min.js"></script>
  <!-- 页脚信息 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-footer-enh/dist/docsify-footer-enh.min.js"></script>
  <!-- 引入 layui.js -->
  <script src="https://cdn.jsdelivr.net/npm/layui@2.7.6/dist/layui.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/heyui"></script>
  <script src="https://cdn.jsdelivr.net/npm/docsify-updated/src/time-updater.min.js"></script>
  <!-- flexible alerts -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-plugin-flexible-alerts"></script>
  <script src="https://cdn.jsdelivr.net/npm/docsify-progress@latest/dist/progress.min.js"></script>
  <!-- docsify-accordion -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-accordion/src/style.css">
  <script src="https://cdn.jsdelivr.net/npm/docsify-accordion/src/index.js"></script>
  <!-- docsify-tabs (latest v1.x.x) -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-tabs@1"></script>
  <!-- docsify-backTop -->
  <script src="https://mg.meiflower.top/oss/cdn/gh/Sumsung524/docsify-backTop/dist/docsify-backTop.min.js"></script>
  <!-- docsify-plugin-toc -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-plugin-toc@1.3.1/dist/light.css">
  <script src="https://cdn.jsdelivr.net/npm/docsify-plugin-toc@1.3.1/dist/docsify-plugin-toc.min.js"></script>
  <!-- 百度统计 -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-baidu-tj@1.0.2/dist/docsify-baidu-tj.min.js"></script>
  <!-- giscus评论  -->
  <!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-giscus@1.0.2/dist/giscus.css">
  <script src="https://cdn.jsdelivr.net/npm/docsify-giscus@1.0.2/dist/docsify-giscus.min.js"></script> -->
  <!-- GitTalk评论 -->
  <!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/gitalk/dist/gitalk.css">
  <script src="https://cdn.jsdelivr.net/npm/docsify/lib/plugins/gitalk.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/gitalk/dist/gitalk.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/docsify-gitalk@1.0.0/dist/docsify-gitalk.min.js"></script> -->
  <!-- html preview demo-->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-demo@latest/dist/index.min.css"/>
  <script src="https://cdn.jsdelivr.net/npm/docsify-demo@latest/dist/index.min.js"></script>
  <!-- remote-markdown -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-remote-markdown/dist/docsify-remote-markdown.min.js"></script>
  <!-- docsify-drawio -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-drawio/viewer.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/docsify-drawio/drawio.js"></script>
  <!-- docsify-pangu 加空格-->
  <script src="https://cdn.jsdelivr.net/npm/docsify-pangu/lib/pangu.min.js"></script>
  <!-- docsify-kroki 支持全热门图形化语言-->
  <script src="https://cdn.jsdelivr.net/npm/docsify-kroki"></script>
  <!-- java语法高亮 -->
  <script src="https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-java.min.js"></script>
  <!-- docsify ads -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-ads@1.0.4/dist/docsify-ads.min.js"></script>
  <!-- docsify-contributors -->
  <script src="https://cdn.jsdelivr.net/npm/docsify-contributors@latest/dist/index.min.js"></script>
  <!-- docsify pdf embed -->
  <script src="https://cdn.jsdelivr.net/npm/pdfobject@2.2.8/pdfobject.min.js"></script> 
  <script src="https://cdn.jsdelivr.net/npm/docsify-pdf-embed-plugin/src/docsify-pdf-embed.js"></script>
</body>
</html>
